<?php
/*
===============================================================================
	Controla los procesos que se requieren para autenticar usuarios, al igual
	que esos de session.
===============================================================================
 */
class Login extends CI_Controller
{

	function Index()
	{
		$vista['contenido'] = 'login_form';
		$this->load->view('/includes/template',$vista);
	}

	/*
	====================
	IniciarSession

	Manda una busqueda en la Base de Datos, en dado caso de que se encuentre la cuenta con los valores introducidos, registra datos en session y
	esta redirecciona al menu principal; de lo contrario envia un mensaje de error al usuario.
	====================
	*/
	function IniciarSession()
	{
		$encontroRegistro = $this->Usuarios_Model->ValidarUsuario();
		if ( $encontroRegistro ) {
			$datos_usuario = array(
				'usuario' => $this->input->post('usuario'),
				'session_iniciada' => TRUE
				 );
			$this->session->set_userdata($datos_usuario);
			redirect('login/Menu');
		}else{
			$this->session->set_flashdata("aviso","FALSE");
			$this->session->set_flashdata("avisoText","Favor de verificar su informacion e intente de nuevo");
			redirect(site_url());
		}
	}

	/*
	====================
	Menu

	Si session esta iniciada -> carga la pagina de menu principal, de lo contrario regresa a pantalla de logeo.
	====================
	*/
	function Menu()
	{
		if ( $this->session->userdata('session_iniciada') ) {
			$vista['contenido'] = 'Menu';
			$this->load->view('/includes/template',$vista);
		} else {
			redirect(site_url());
		}
	}

	/*
	====================
	Cerrar Session

	Elimina datos de session, y redirecciona a la pagina de log in.
	====================
	*/
	function CerrarSession()
	{
		unset($_POST['usuario']);
		unset($_POST['constrasena']);
		$this->session->unset_userdata('usuario');
		$this->session->unset_userdata('session_iniciada');
		redirect(site_url());
	}
}
?>
